In an electronic device, the sound from a loudspeaker can be reflected or coupled back to a microphone after some finite delay, producing an echo. Audio devices may include circuits that perform acoustic echo cancellation (AEC), for reducing or eliminating the effects of such echoes. One example situation using AEC is a “barge-in” application. During a “barge-in” a user may speak a voice command while listening to music or other sound generated by a loudspeaker of an electronic device. The user is thus “barging in” with the voice command during playback of media. The electronic device can have difficulty accurately detecting and recognizing the voice command as a result of echo from the output of the loudspeaker. As a further challenge to voice recognition, there may be multiple loudspeakers generating sound, and thus multiple echoes to be cancelled. A conventional AEC system for improving voice recognition is shown in FIG. 1.
FIG. 1 is a block diagram illustrating a stereo acoustic echo cancellation (AEC) system according to the prior art. AEC processing system 100 may receive a microphone signal from microphone 102. The microphone signal may include the user's speech and echo from each of the loudspeakers. Two AEC processing blocks 104A and 104B may be used to generate echo cancellation for each of the echoes from the loudspeakers of the device. One processing block 104B uses a left-channel reference signal xL 106B. The other processing block 104A uses a right-channel reference signal xR 106A. The two adaptive filters 104A and 104B are used to estimate the impulse responses of the left and right echo paths and compute the right and the left echo estimates using the right and left references 106A and 106B, respectively. The echo from the right loudspeaker acts as input for the left AEC. If the left and right channels are correlated, this will affect the performance of a mono AEC block in a way that the AEC block cannot correctly estimate the acoustic impulse responses (AIRs). The incorrect AIR estimate degrades the performance of processing of the microphone signal by slowing convergence of the echo cancellation algorithm, because the desired input signal cannot be correctly extracted from the microphone signal without correct AIR estimates and thus without correct AEC processing. The reduced performance may cause voice commands to be incorrectly recognized or not detected at all.
Shortcomings mentioned here are only representative and are included simply to highlight that a need exists for improved echo cancellation, particularly for audio processing employed in consumer-level devices. Embodiments described herein address certain shortcomings but not necessarily each and every one described here or known in the art. Furthermore, embodiments described herein may present other benefits than, and be used in other applications than, those of the shortcomings described above.